Productive Parallel Programming For Fpga With High Level Synthesis